package 剑指offer.第5天;

import java.util.HashMap;
import java.util.Map;

/**
 * 剑指 Offer 50. 第一个只出现一次的字符
 在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
 示例 1:
 输入：s = "abaccdeff"
 输出：'b'
 */
class solution {
    public char firstUniqChar(String s) {
        String tmp = s;
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            Integer integer = map.get(c);
            if (integer != null) {
                tmp = tmp.replace(c + "", "");
            }
            map.put(c, 1);
        }
        return tmp.length()>0?tmp.charAt(0):' ';

    }
    public static void main(String[] args) {
        String s = "abaccdeff";
        char c = new solution().firstUniqChar(s);
        System.out.println("c = " + c);

    }
}